# ДЗ
Требуется реализовать методы в классах 
`BubbleSort.cs`, `CountingSort.cs`, `InsertionSort.cs`, `SelectionSort.cs` в папке Algorithms и проверить их тестами `SortTest.cs`

*Запуск тестов:* 
**Visual Studio**
Откройте обозреватель тестов, выбрав Тест > Обозреватель тестов в верхней строке меню (или нажмите клавиши CTRL + E, T).
Запустите модульные тесты, нажав Запустить все (или нажмите клавиши CTRL + R, V).

### 1. Первая сортировка
★★☆☆☆

В классе `BubbleSort.cs` надо реализовать метод сортировки пузырьком.
Реализуйте метод
```C#
public static void Sort(int[] array)
```

### 2. Сортировка выбором
★★★☆☆

В вашу команду пришел новый тимлид. Он уверен, что работать напрямую с массивом нельзя, нужна обертка над ним.
Для этого он создал интерфейс:

```C#
public interface ISuperArray 
{
    int GetSize();
    int Get(int position);
    void Set(int position, int value);
}
```
Первый метод позволяет получить размер массива, второй - получить число, которое лежит по индексу 
position, а последний метод позволяет записать новое значение по индексу.

Используя данный интерфейс, реализуйте сортировку в классе `SelectionSort.cs`.
```C#
public static void Sort(ISuperArray array)
```


### 3. Сортировка вставками
★★★☆☆

В зоопарке переполох. Кто-то сломал список, в котором были записаны веса животных и их имена.
Животные с одинаковым весом и породы сидят в двойных клетках, поэтому нам важно сохранить порядок в котором они сейчас находятся.
Для получения веса животных создан интерфейс:
```C#
public interface IAnimal 
{
    int GetWeight();
}
```
Отсортируйте животных по весу в классе `InsertionSort.cs`:
```C#
public static void Sort(IAnimal[] arr)
```

### 4. Сортировка подсчетом
★★★☆☆

Мы строим сервис для обработки пользовательских оценок. Известно, что размер 
множества оценок, значительно превышает возможный диапазон значений оценок.
Все оценки находятся в диапазоне от 0 до maxValue. Нам нужно реализовать метод, 
который будет сортировать этот массив.

Отсортируйте оценки в классе `CountingSort.cs`:
```C#
public static void Sort(int[] array, int maxValue)
```
